<?php

namespace app\command;

use app\common\model\ProfitFrozen;
use app\common\model\QkdOrder;
use app\common\model\QkdUserProfit;
use app\common\model\User;
use think\console\Command;
use think\console\Input;
use think\console\Output;
use think\Db;
use think\facade\Cache;

class Crontab extends Command
{
    protected function configure()
    {
        // 指令配置
        $this->setName('crontab');
        // 设置参数
        
    }

    protected function execute(Input $input, Output $output)
    {
        $this->oneMinutes();
        if (!Cache::get('fiveMinutes')){
            $this->fiveMinutes();
            Cache::set('fiveMinutes', 1, 300);
        }
        if (!Cache::get('fifteenMinutes')){
            $this->fifteenMinutes();
            Cache::set('fifteenMinutes', 1, 900);
        }
        if (!Cache::get('thirtyMinutes')){
            $this->thirtyMinutes();
            Cache::set('thirtyMinutes', 1, 1800);
        }
        if (!Cache::get('oneHour')){
            $this->oneHour();
            Cache::set('oneHour', 1, 3600);
        }

    }

    /**
     * 每1分钟执行一次
     */
    private function oneMinutes(){
    }

    /**
     * 每5分钟执行一次
     */
    private function fiveMinutes(){
        //todo
        $this->newMessageNotice();
    }
    /**
     * 每15分钟执行一次
     */
    private function fifteenMinutes(){
        //todo
    }
    /**
     * 每30分钟执行一次
     */
    private function thirtyMinutes(){
        //todo
        $this->sendCommentMenu();
    }
    /**
     * 每小时执行一次
     */
    private function oneHour(){
        //todo
    }

    
    /**
     * 有留言或新消息通知客服
     */
    private function newMessageNotice()
    {
        controller('\app\api\controller\Kf')->newMessageNotice();
    }
    /**
     * 会话结束给用户发送评价菜单
     */
    private function sendCommentMenu()
    {
        controller('\app\api\controller\Kf')->cleanSession();
    }

}
